package com.sixbro.shiro.jwt.service.token;

import com.bxs.rbac.shiro.jwt.domain.entity.User;

import java.io.Serializable;

/**
 * <p>
 *
 * </p>
 *
 * @Author: Mr.Lu
 * @Since: 2020/6/17 17:25
 */
public interface TokenService extends Serializable {

    /**
     * 生成Token
     *
     * @param user 用户信息
     * @return token
     * @throws Exception e
     */
    String generate(User user) throws Exception;

    /**
     * 解析用户信息
     *
     * @param token 客户端token
     * @return 用户信息
     * @throws Exception e
     */
    User getUser(String token) throws Exception;

    /**
     * 验证账号
     * @param token
     * @param user
     * @return
     */
    Boolean verify(String token, User user);
}
